package main

import "fmt"

// 结构体
type stack struct {
	data []rune
	len int
}

// 入栈
func (this *stack) push(s rune){
	this.data = append(this.data, s)
	this.len += 1
}

// 出栈
func (this *stack) pop() rune {
	if this.len < 0 {
		panic("栈已空")
	}
	s := this.data[this.len-1]
	this.len -= 1

	return s
}

// 初始化栈
func initStack()*stack{
	return new(stack)
}

func symmetry(s string)bool{
	stackInit := initStack()
	stackInit.data = make([]rune,0);
	rs := []rune(s)
	for _,v := range rs{
		stackInit.push(v)
	}

	for k,_ := range rs {
		if rs[k] != stackInit.pop(){
			return false
		}
	}
	return true
}


func main(){
	var isTrue = true
	var str string
	for isTrue{
		fmt.Print("请输入验证文本：")
		fmt.Scan(&str)
		if symmetry(str){
			fmt.Println("Right")
		} else {
			fmt.Println("Wrong")
		}
	}
}
